package com.rc.saas.mini.service.member;

import com.github.pagehelper.PageInfo;
import com.rc.saas.mini.common.base.BaseService;
import com.rc.saas.mini.mapper.member.MemberInfoMapper;
import com.rc.saas.mini.model.member.MemberInfo;
import com.rc.saas.mini.model.member.MemberInfoExample;
import com.rc.saas.mini.model.ugs.TenantUgsMemberLevel;
import com.rc.saas.mini.model.ugs.UgsMemberSuperLevel;
import com.rc.saas.mini.vo.member.MemberSuperLevelVo;
import com.rc.saas.mini.vo.order.OrderStatisticsVo;

/**
 * @author wangzhengwei
 * @create 2021/12/15
 */
public interface MemberInfoService extends BaseService<Long, MemberInfo, MemberInfoExample, MemberInfoMapper> {
    MemberInfo selectMemberByUnionid(String unionid,String tenantCode);

    MemberInfo selectMemberByOpenid(String openid,String tenantCode);

    MemberInfo selectByMobile(String mobile, String tenantCode);

    void createRegisterWithMobile(MemberInfo member);

    MemberSuperLevelVo selectMemberSuperLevel(MemberInfo memberInfo);

    UgsMemberSuperLevel selectUgsMemberSuperLevel(MemberInfo memberInfo);

    TenantUgsMemberLevel selectTenantUgsMemberLevel(MemberInfo memberInfo);

    void updateMemberByUntying(Long subMemberId, Long masterMemberId, String tenantCode);

    MemberInfo selectMemberByAliUserId(String userId);

    void updateLogin(Long memberId);
}
